package mylab.io.core.codec;

import java.util.List;

import io.netty.channel.ChannelHandlerContext;
import mylab.io.base.model.Msg;

/**
 * 通讯协议解析器：原始字节流与结构化消息的互译
 */
public interface MsgResolver<M extends Msg, F> {

    /**
     * 上行解析
     */
    List<M> up(ChannelHandlerContext ctx, F f) throws Exception;

    /**
     * 下行解析
     */
    F down(M msg) throws Exception;
}
